package NGUYENVANTHANG.arays.t1;

import java.util.Scanner;



public class Views {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//1. Đưa ra yêu cầu đối với người dùng		
		double dValue = 0;
		Scanner sc = new Scanner(System.in);
		double[] temps  = new double[100];
		double[] myValue1;
		int iCount = 0;
		int k = 0;
		
		//2. Nhập liệu vào biến mảng
		do{
			//Nhận giá trị
			System.out.println("+ Nhập giá trị (nhập số âm để thoát việc nhập): ");
			dValue = sc.nextDouble();
			
			//Kiểm tra giá trị đầu vào
			if(dValue > 0){
				temps[iCount] = dValue;
				iCount++;
			}
			k++;
		}while(dValue > 0 && k < temps.length);	
		
		//3. Hiển thị tập giá trị trong mảng		
		myValue1 = new double[iCount];
		System.arraycopy(temps, 0, myValue1, 0, iCount);
		
		/*for(int i=0;i<iCount;i++){
			myValue[i] = temps[i];
	    }*/
		
		//4. Khai báo và khởi tạo đối tượng để sử dụng các nghiệp bên trong nó
	 Controllers objController = new Controllers();
		 
		//5. Thực thi xử lý nghiệp vụ để nhận về tập giá trị TMDK >= 5
		//C1: Tường minh biến mảng nhận kq
		double[] kq = objController.FindValue(myValue1, (short)0);
     
        
		//6. Hiển thị kết quả
		System.out.println("+ Số phần tử có giá trị >= 5 là: "+ kq.length);
		System.out.println("+ Các giá trị >= 5 dưới đây: ");
		
		for (int i = 0; i < kq.length; i++) {
			System.out.println("+ Giá trị = "+kq[i]);
			}
		/*for(double j : myValue1){
			System.out.println("+ Giá trị = "+ j);
			}
	/*	for(double j : kq){
			System.out.println("+ Giá trị = "+ j);
		}*/
		
		
		//7. Thực thi xử lý nghiệp vụ để nhận về tập giá trị TMDK < 5
		//C1: Tường minh biến mảng nhận kq
		double[] kq2 = objController.FindValue(myValue1, (short)1);
		
		//6. Hiển thị kết quả
		System.out.println("+ Số phần tử có giá trị < 5 là: "+ kq2.length);
		System.out.println("+ Các giá trị < 5 dưới đây: ");
		for(double j : kq2){
			System.out.println("+ Giá trị = "+ j);
		}
	}

}
